diff --git a/application/views/welcome_message.php b/application/views/welcome_message.php
index 0bf5a8d..d906bc8 100644
--- a/application/views/welcome_message.php
+++ b/application/views/welcome_message.php
@@ -81,7 +81,7 @@
 		<p>If you are exploring CodeIgniter for the very first time, you should start by reading the <a href="user_guide/">User Guide</a>.</p>
 	</div>
 
-	<p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds</p>
+	<p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds. <?php echo  (ENVIRONMENT == 'development') ?  'CodeIgniter Version <strong>' . CI_VERSION . '</strong>' : '' ?></p>
 </div>
 
 </body>
diff --git a/readme.md b/readme.md
index 7919465..b6a88ea 100644
--- a/readme.md
+++ b/readme.md
@@ -2,10 +2,98 @@
 
 CodeIgniter is an Application Development Framework - a toolkit - for people who build web sites using PHP. Its goal is to enable you to develop projects much faster than you could if you were writing code from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries. CodeIgniter lets you creatively focus on your project by minimizing the amount of code needed for a given task.
 
-# Resources
+## Release Information
+
+This repo contains in development code for future releases. To download the latest stable release please visit the [CodeIgniter Downloads](http://codeigniter.com/downloads/) page. 
+
+## Changelog and New Features
+
+You can find a list of all changes for each release in the [user guide](https://github.com/EllisLab/CodeIgniter/blob/develop/user_guide/changelog.html).
+
+## Server Requirements
+
+* PHP version 5.1.6 or newer.
+
+## Installation 
+
+Please see the installation section of the [CodeIgniter User Guide](http://codeigniter.com/user_guide/installation/index.html)
+
+## Contributing
+
+CodeIgniter is a community driven project and accepts contributions of code and documentation from the community. These contributions are made in the form of Issues or [Pull Requests](http://help.github.com/send-pull-requests/) on the [EllisLab CodeIgniter repository](https://github.com/EllisLab/CodeIgniter) on GitHub.
+
+Issues are a quick way to point out a bug. If you find a bug or documentation error in CodeIgniter then please check a few things first:
+
+     
+    There is not already an open Issue
+    The issue has already been fixed (check the develop branch, or look for closed Issues)
+    Is it something really obvious that you fix it yourself?
+
+Reporting issues is helpful but an even better approach is to send a Pull Request, which is done by “Forking” the main repository and committing to your own copy. This will require you to use the version control system called Git.
+
+Guidelines
+----------
+
+Before we look into how, here are the guidelines. If your Pull Requests fail to pass these guidelines it will be declined and you will need to re-submit when you’ve made the changes. This might sound a bit tough, but it is required for us to maintain quality of the code-base.
+
+PHP Style: All code must meet the [Style Guide](http://codeigniter.com/user_guide/general/styleguide.html), which is essentially the [Allman indent style](http://en.wikipedia.org/wiki/Indent_style#Allman_style), underscores and readable operators. This makes certain that all code is the same format as the existing code and means it will be as readable as possible.
+
+Documentation: If you change anything that requires a change to documentation then you will need to add it. New classes, methods, parameters, changing default values, etc are all things that will require a change to documentation. The change-log must also be updated for every change. Also PHPDoc blocks must be maintained.
+
+Compatibility: CodeIgniter is compatible with PHP 5.1.6 so all code supplied must stick to this requirement. If PHP 5.2 or 5.3 functions or features are used then there must be a fallback for PHP 5.1.6.
+
+Branching: CodeIgniter uses the [Git-Flow](http://nvie.com/posts/a-successful-git-branching-model/) branching model which requires all pull requests to be sent to the “develop” branch. This is where the next planned version will be developed. The “master” branch will always contain the latest stable version and is kept clean so a “hotfix” (e.g: an emergency security patch) can be applied to master to create a new version, without worrying about other features holding it up. For this reason all commits need to be made to “develop” and any sent to “master” will be closed automatically. If you have multiple changes to submit, please place all changes into their own branch on your fork.
+
+One thing at a time: A pull request should only contain one change. That does not mean only one commit, but one change - however many commits it took. The reason for this is that if you change X and Y but send a pull request for both at the same time, we might really want X but disagree with Y, meaning we cannot merge the request. Using the Git-Flow branching model you can create new branches for both of these features and send two requests.
+
+How-to Guide
+------------
+
+There are two ways to make changes, the easy way and the hard way. Either way you will need to [create a GitHub account](https://github.com/signup/free).
+
+Easy way
+GitHub allows in-line editing of files for making simple typo changes and quick-fixes. This is not the best way as you are unable to test the code works. If you do this you could be introducing syntax errors, etc, but for a Git-phobic user this is good for a quick-fix.
+
+Hard way
+The best way to contribute is to “clone” your fork of CodeIgniter to your development area. That sounds like some jargon, but “forking” on GitHub means “making a copy of that repo to your account” and “cloning” means “copying that code to your environment so you can work on it”.
+
+    Set up Git (Windows, Mac & Linux)
+    Go to the CodeIgniter repo
+    Fork it
+    Clone your CodeIgniter repo: git@github.com:<your-name>/CodeIgniter.git
+    Checkout the “develop” branch At this point you are ready to start making changes. 
+	Fix existing bugs on the Issue tracker after taking a look to see nobody else is working on them.
+    Commit the files
+    Push your develop branch to your fork
+    Send a pull request http://help.github.com/send-pull-requests/
+
+The Reactor Engineers will now be alerted about the change and at least one of the team will respond. If your change fails to meet the guidelines it will be bounced, or feedback will be provided to help you improve it.
+
+Once the Reactor Engineer handling your pull request is happy with it they will post it to the internal EllisLab discussion area to be double checked by the other Engineers and EllisLab developers. If nobody has a problem with the change then it will be merged into develop and will be part of the next release.
+Keeping your fork up-to-date
+
+Unlike systems like Subversion, Git can have multiple remotes. A remote is the name for a URL of a Git repository. By default your fork will have a remote named “origin” which points to your fork, but you can add another remote named “codeigniter” which points to git://github.com/EllisLab/CodeIgniter.git. This is a read-only remote but you can pull from this develop branch to update your own.
+
+If you are using command-line you can do the following:
+
+    git remote add codeigniter git://github.com/EllisLab/CodeIgniter.git
+	git pull codeigniter develop
+	git push origin develop
+
+Now your fork is up to date. This should be done regularly, or before you send a pull request at least.
+
+## License
+
+Please see the [license agreement](http://codeigniter.com/user_guide/license.html)
+
+## Resources
 
  * [User Guide](http://codeigniter.com/user_guide/)
  * [Community Forums](http://codeigniter.com/forums/)
  * [User Voice](http://codeigniter.uservoice.com/forums/40508-codeigniter-reactor)
  * [Community Wiki](http://codeigniter.com/wiki/)
- * [Community IRC](http://codeigniter.com/irc/)
\ No newline at end of file
+ * [Community IRC](http://codeigniter.com/irc/)
+
+## Acknowledgement
+
+The EllisLab team and The Reactor Engineers would like to thank all the contributors to the CodeIgniter project and you, the CodeIgniter user.
diff --git a/system/database/DB_active_rec.php b/system/database/DB_active_rec.php
index 37d162b..7162e2a 100644
--- a/system/database/DB_active_rec.php
+++ b/system/database/DB_active_rec.php
@@ -872,11 +872,11 @@
 	 * @param	integer	the offset value
 	 * @return	object
 	 */
-	public function limit($value, $offset = '')
+	public function limit($value, $offset = NULL)
 	{
 		$this->ar_limit = (int) $value;
 
-		if ($offset != '')
+		if ( ! is_null($offset))
 		{
 			$this->ar_offset = (int) $offset;
 		}
@@ -894,7 +894,7 @@
 	 */
 	public function offset($offset)
 	{
-		$this->ar_offset = $offset;
+		$this->ar_offset = (int) $offset;
 		return $this;
 	}
 
diff --git a/system/helpers/string_helper.php b/system/helpers/string_helper.php
index 9fa69f4..dd8ffad 100644
--- a/system/helpers/string_helper.php
+++ b/system/helpers/string_helper.php
@@ -215,12 +215,9 @@
 						case 'nozero'	:	$pool = '123456789';
 							break;
 					}
-
-					$str = '';
-					for ($i=0; $i < $len; $i++)
-					{
-						$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
-					}
+					
+					$str = substr(str_shuffle(str_repeat($pool, ceil($len/strlen($pool)))),0,$len);
+					
 					return $str;
 				break;
 			case 'unique'	:
diff --git a/system/language/english/migration_lang.php b/system/language/english/migration_lang.php
index 4763ca2..94cb882 100644
--- a/system/language/english/migration_lang.php
+++ b/system/language/english/migration_lang.php
@@ -5,7 +5,7 @@
 $lang['migration_multiple_version']		= "This are multiple migrations with the same version number: %d.";
 $lang['migration_class_doesnt_exist']	= "The migration class \"%s\" could not be found.";
 $lang['migration_missing_up_method']	= "The migration class \"%s\" is missing an 'up' method.";
-$lang['migration_missing_down_method']	= "The migration class \"%s\" is missing an 'up' method.";
+$lang['migration_missing_down_method']	= "The migration class \"%s\" is missing a 'down' method.";
 $lang['migration_invalid_filename']		= "Migration \"%s\" has an invalid filename.";
 
 
diff --git a/system/libraries/Profiler.php b/system/libraries/Profiler.php
index 330acce..ac58129 100644
--- a/system/libraries/Profiler.php
+++ b/system/libraries/Profiler.php
@@ -506,7 +506,7 @@
 
 		foreach ($this->CI->session->all_userdata() as $key => $val)
 		{
-			if (is_array($val))
+			if (is_array($val) || is_object($val))
 			{
 				$val = print_r($val, TRUE);
 			}
diff --git a/system/libraries/Session/drivers/Session_cookie.php b/system/libraries/Session/drivers/Session_cookie.php
index 334218e..696105b 100755
--- a/system/libraries/Session/drivers/Session_cookie.php
+++ b/system/libraries/Session/drivers/Session_cookie.php
@@ -28,21 +28,22 @@
  */
 class CI_Session_cookie extends CI_Session_driver {
 	protected $sess_encrypt_cookie	= FALSE;
-	protected $sess_use_database		= FALSE;
+	protected $sess_use_database	= FALSE;
 	protected $sess_table_name		= '';
 	protected $sess_expiration		= 7200;
 	protected $sess_expire_on_close	= FALSE;
-	protected $sess_match_ip			= FALSE;
+	protected $sess_match_ip		= FALSE;
 	protected $sess_match_useragent	= TRUE;
 	protected $sess_cookie_name		= 'ci_session';
-	protected $cookie_prefix			= '';
+	protected $cookie_prefix		= '';
 	protected $cookie_path			= '';
-	protected $cookie_domain			= '';
+	protected $cookie_domain		= '';
+	protected $cookie_secure		= FALSE;
 	protected $sess_time_to_update	= 300;
-	protected $encryption_key		 	= '';
-	protected $time_reference		 	= 'time';
+	protected $encryption_key	 	= '';
+	protected $time_reference	 	= 'time';
 	protected $userdata				= array();
-	protected $CI					 	= null;
+	protected $CI				 	= null;
 	protected $now					= 0;
 
 	const gc_probability			= 5;
@@ -62,7 +63,8 @@
 		// manually via the $params array above or via the config file
 		foreach (array('sess_encrypt_cookie', 'sess_use_database', 'sess_table_name', 'sess_expiration',
 		'sess_expire_on_close', 'sess_match_ip', 'sess_match_useragent', 'sess_cookie_name', 'cookie_path',
-		'cookie_domain', 'sess_time_to_update', 'time_reference', 'cookie_prefix', 'encryption_key') as $key)
+		'cookie_domain', 'cookie_secure', 'sess_time_to_update', 'time_reference', 'cookie_prefix', 'encryption_key')
+		as $key)
 		{
 			$this->$key = (isset($this->parent->params[$key])) ? $this->parent->params[$key] : $this->CI->config->item($key);
 		}
@@ -482,7 +484,8 @@
 		$expire = ($this->sess_expire_on_close === TRUE) ? 0 : $this->sess_expiration + time();
 
 		// Set the cookie
-		setcookie($this->sess_cookie_name, $cookie_data, $expire, $this->cookie_path, $this->cookie_domain, 0);
+		setcookie($this->sess_cookie_name, $cookie_data, $expire, $this->cookie_path, $this->cookie_domain,
+			$this->cookie_secure);
 	}
 
 	/**
diff --git a/system/libraries/Session/drivers/Session_native.php b/system/libraries/Session/drivers/Session_native.php
index c7130b6..09fb7f9 100755
--- a/system/libraries/Session/drivers/Session_native.php
+++ b/system/libraries/Session/drivers/Session_native.php
@@ -22,7 +22,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Sessions
- * @author		ExpressionEngine	Dev Team
+ * @author		ExpressionEngine Dev Team
  */
 class CI_Session_native extends CI_Session_driver {
 	/**
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index fb6e449..3b4c72b 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -70,13 +70,18 @@
 			<li>Callback validation rules can now accept parameters like any other validation rule.</li>
 			<li>Ability to log certain error types, not all under a threshold.</li>
 			<li>Added html_escape() to <a href="general/common_functions.html">Common functions</a> to escape HTML output for preventing XSS.</li>
+			<li>Added support for pem,p10,p12,p7a,p7c,p7m,p7r,p7s,crt,crl,der,kdb,rsa,cer,sst,csr Certs to mimes.php.</li>
+			<li>Added support pgp,gpg to mimes.php.</li>
+			<li>Added support 3gp, 3g2, mp4, wmv, f4v, vlc Video files to mimes.php.</li>
+			<li>Added support m4a, aac, m4u, xspf, au, ac3, flac, ogg Audio files to mimes.php.</li>
 		</ul>
 	</li>
 	<li>Helpers
 		<ul>
 			<li>Added <samp>increment_string()</samp> to <a href="helpers/string_helper.html">String Helper</a> to turn "foo" into "foo-1" or "foo-1" into "foo-2".</li>
-        	<li>Altered form helper - made action on form_open_multipart helper function call optional.  Fixes (#65)</li>
+        		<li>Altered form helper - made action on form_open_multipart helper function call optional.  Fixes (#65)</li>
 			<li><samp>url_title()</samp> will now trim extra dashes from beginning and end.</li>
+			<li>Improved speed of <a href="helpers/string_helper.html">String Helper</a>'s <b>random_string()</b> method</li>
 		</ul>
 	</li>
 	<li>Database
@@ -120,6 +125,7 @@
 	<li>Fixed a bug (#8) - <samp>load_class()</samp> now looks for core classes in <samp>APPPATH</samp> first, allowing them to be replaced.</li>
 	<li>Fixed a bug (#24) - ODBC database driver called incorrect parent in __construct().</li>
 	<li>Fixed a bug (#85) - OCI8 (Oracle) database escape_str() function did not escape correct.</li>
+	<li>Fixed a bug (#344) - Using schema found in <a href="libraries/sessions.html">Saving Session Data to a Database</a>, system would throw error "user_data does not have a default value" when deleting then creating a session.</li>
 </ul>
 
 <h2>Version 2.0.3</h2>
@@ -141,11 +147,6 @@
 			<li class="reactor">Added "application/x-csv" to mimes.php.</li>
 			<li class="reactor">Added CSRF protection URI whitelisting.</li>
 			<li>Fixed a bug where <a href="libraries/email.html">Email library</a> attachments with a "." in the name would using invalid MIME-types.</li>
-            <li>Added support for pem,p10,p12,p7a,p7c,p7m,p7r,p7s,crt,crl,der,kdb,rsa,cer,sst,csr Certs to mimes.php.</li>
-            <li>Added support pgp,gpg to mimes.php.</li>
-            <li>Added support 3gp, 3g2, mp4, wmv, f4v, vlc Video files to mimes.php.</li>
-            <li>Added support m4a, aac, m4u, xspf, au, ac3, flac, ogg Audio files to mimes.php.</li>
-
 		</ul>
 	</li>
 	<li>Helpers
@@ -177,7 +178,7 @@
 	<li class="reactor">Fixed issue #199 - Attributes passed as string does not include a space between it and the opening tag.</li>
 	<li class="reactor">Fixed a bug where the method <kbd>$this->cart->total_items()</kbd> from <a href="libraries/cart.html">Cart Library</a> now returns the sum of the quantity of all items in the cart instead of your total count.</li>
 	<li class="reactor">Fixed a bug where not setting 'null' when adding fields in db_forge for mysql and mysqli drivers would default to NULL instead of NOT NULL as the docs suggest.</li>
-	<li class="reactor">Fixed a bug where using <kbd>$this->db->select_max()</kdb>, <kbd>$this->db->select_min()</kdb>, etc could throw notices. Thanks to w43l for the patch.</li>
+	<li class="reactor">Fixed a bug where using <kbd>$this->db->select_max()</kbd>, <kbd>$this->db->select_min()</kbd>, etc could throw notices. Thanks to w43l for the patch.</li>
 	<li class="reactor">Replace checks for STDIN with php_sapi_name() == 'cli' which on the whole is more reliable. This should get parameters in crontab working.</li>
 </ul>
 
diff --git a/user_guide/database/active_record.html b/user_guide/database/active_record.html
index 0f09e78..10259a4 100644
--- a/user_guide/database/active_record.html
+++ b/user_guide/database/active_record.html
@@ -530,7 +530,7 @@
 <strong>array</strong> or an <strong>object</strong> to the function.  Here is an example using an array:</p>
 
 <code>
-$data = array(<br/>
+$data = array(<br />
 &nbsp;&nbsp;&nbsp;array(<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'title' => 'My title' ,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'name' => 'My Name' ,<br />
@@ -540,7 +540,7 @@
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'title' => 'Another title' ,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'name' => 'Another Name' ,<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'date' => 'Another date'<br />
-&nbsp;&nbsp;&nbsp;)<br/>
+&nbsp;&nbsp;&nbsp;)<br />
 );<br />
 <br />
 $this->db->update_batch('mytable', $data);
@@ -783,4 +783,4 @@
 </div>
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/user_guide/database/results.html b/user_guide/database/results.html
index ec5f977..a47e335 100644
--- a/user_guide/database/results.html
+++ b/user_guide/database/results.html
@@ -105,8 +105,8 @@
 	<br />
 	foreach ($query->result('User') as $user)<br />
 	{<br />
-	&nbsp;&nbsp;&nbsp;echo $row->name; // call attributes<br />
-	&nbsp;&nbsp;&nbsp;echo $row->reverse_name(); // or methods defined on the 'User' class<br />
+	&nbsp;&nbsp;&nbsp;echo $user->name; // call attributes<br />
+	&nbsp;&nbsp;&nbsp;echo $user->reverse_name(); // or methods defined on the 'User' class<br />
 	}
 	</code>
 
diff --git a/user_guide/database/utilities.html b/user_guide/database/utilities.html
index 8231c7e..c80e3d1 100644
--- a/user_guide/database/utilities.html
+++ b/user_guide/database/utilities.html
@@ -183,14 +183,15 @@
 echo $this->dbutil->csv_from_result($query);
 </code>
 
-<p>The second and third parameters allows you to
-set the delimiter and newline character.  By default tabs are used as the delimiter and "\n" is used as a new line.  Example:</p>
+<p>The second, third, and fourth parameters allow you to
+set the delimiter, newline, and enclosure characters respectively.  By default tabs are used as the delimiter, "\n" is used as a new line, and a double-quote is used as the enclosure.  Example:</p>
 
 <code>
 $delimiter = ",";<br />
 $newline = "\r\n";<br />
+$enclosure = '"';<br />
 <br />
-echo $this->dbutil->csv_from_result($query, $delimiter, $newline);
+echo $this->dbutil->csv_from_result($query, $delimiter, $newline, $enclosure);
 </code>
 
 <p><strong>Important:</strong>&nbsp; This function will NOT write the CSV file for you.  It simply creates the CSV layout.
diff --git a/user_guide/general/cli.html b/user_guide/general/cli.html
index befc999..4e9bf87 100644
--- a/user_guide/general/cli.html
+++ b/user_guide/general/cli.html
@@ -83,7 +83,7 @@
 
 <ul>
 	<li>Run your cron-jobs without needing to use wget or curl</li>
-	<li>Make your cron-jobs inaccessible from being loaded in the URL by checking for <kbd>IS_CLI</kbd></li>
+	<li>Make your cron-jobs inaccessible from being loaded in the URL by checking for <kbd>$this->input->is_cli_request()</kbd></li>
 	<li>Make interactive "tasks" that can do things like set permissions, prune cache folders, run backups, etc.</li>
 	<li>Integrate with other applications in other languages. For example, a random C++ script could call one command and run code in your models!</li>
 </ul>
@@ -114,7 +114,7 @@
 <p>Instead, we are going to open Terminal in Mac/Lunix or go to Run > "cmd" in Windows and navigate to our CodeIgniter project.</p>
 
 <blockquote>
-	$ cd /path/to/project;<br/>
+	$ cd /path/to/project;<br />
 	$ php index.php tools message
 </blockquote>
 
@@ -147,4 +147,4 @@
 </div>
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/user_guide/helpers/form_helper.html b/user_guide/helpers/form_helper.html
index dd935eb..0afe0eb 100644
--- a/user_guide/helpers/form_helper.html
+++ b/user_guide/helpers/form_helper.html
@@ -84,7 +84,7 @@
 
 <p>The above example would create a form that points to your base URL plus the "email/send" URI segments, like this:</p>
 
-<code>&lt;form method="post" accept-charset="utf-8" action="http:/example.com/index.php/email/send" /></code>
+<code>&lt;form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send" /></code>
 
 <h4>Adding Attributes</h4>
 
@@ -97,7 +97,7 @@
 
 <p>The above example would create a form similar to this:</p>
 
-<code>&lt;form method="post" accept-charset="utf-8" action="http:/example.com/index.php/email/send" &nbsp;class="email" &nbsp;id="myform" /></code>
+<code>&lt;form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send" &nbsp;class="email" &nbsp;id="myform" /></code>
 
 <h4>Adding Hidden Input Fields</h4>
 
@@ -110,7 +110,7 @@
 
 <p>The above example would create a form similar to this:</p>
 
-<code>&lt;form method="post" accept-charset="utf-8" action="http:/example.com/index.php/email/send"><br />
+<code>&lt;form method="post" accept-charset="utf-8" action="http://example.com/index.php/email/send"><br />
 &lt;input type="hidden" name="username" value="Joe" /><br />
 &lt;input type="hidden" name="member_id" value="234" /></code>
 
diff --git a/user_guide/helpers/string_helper.html b/user_guide/helpers/string_helper.html
index 3141240..ebdbd3a 100644
--- a/user_guide/helpers/string_helper.html
+++ b/user_guide/helpers/string_helper.html
@@ -96,9 +96,9 @@
 
 <p>Usage example:</p>
 
-<code>echo increment_string('file', '_'); // "file_1"<br/>
-echo increment_string('file', '-', 2); // "file-2"<br/>
-echo increment_string('file-4'); // "file-5"<br/></code>
+<code>echo increment_string('file', '_'); // "file_1"<br />
+echo increment_string('file', '-', 2); // "file-2"<br />
+echo increment_string('file-4'); // "file-5"<br /></code>
 
 
 <h2>alternator()</h2>
@@ -186,4 +186,4 @@
 </div>
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/user_guide/installation/downloads.html b/user_guide/installation/downloads.html
index 539fbc1..bb18f1d 100644
--- a/user_guide/installation/downloads.html
+++ b/user_guide/installation/downloads.html
@@ -88,14 +88,14 @@
 
 
 
-<h1 id="hg">Mercurial Server</h1>
-<p><a href="http://mercurial.selenic.com">Mercurial</a> is a distributed version control system.</p>
+<h1 id="git">Git Server</h1>
+<p><a href="http://git-scm.com/about">Git</a> is a distributed version control system.</p>
 
-							<p>Public Hg access is available at <a href="http://bitbucket.org/ellislab/codeigniter-reactor/">BitBucket</a>.
+							<p>Public Git access is available at <a href="https://github.com/EllisLab/CodeIgniter">GitHub</a>.
 								Please note that while every effort is made to keep this code base functional, we cannot guarantee the functionality of code taken
 								from the tip.</p>
 
-							<p>Beginning with version 1.6.1, stable tags are also available via BitBucket, simply select the version from the Tags dropdown.</p>
+							<p>Beginning with version 2.0.3, stable tags are also available via GitHub, simply select the version from the Tags dropdown.</p>
 </div>
 <!-- END CONTENT -->
 
diff --git a/user_guide/installation/index.html b/user_guide/installation/index.html
index 84338e2..ad66ad7 100644
--- a/user_guide/installation/index.html
+++ b/user_guide/installation/index.html
@@ -67,14 +67,14 @@
 </ol>
 
 <p>If you wish to increase security by hiding the location of your CodeIgniter files you can rename the <dfn>system</dfn> and <dfn>application</dfn> folders
-to something more private.  If you do rename them, you must open your main <kbd>index.php</kbd> file and set the <samp>$system_folder</samp> and <samp>$application_folder</samp>
+to something more private.  If you do rename them, you must open your main <kbd>index.php</kbd> file and set the <samp>$system_path</samp> and <samp>$application_folder</samp>
 variables at the top of the file with the new name you've chosen.</p>
 
 <p>For the best security, both the <dfn>system</dfn> and any <dfn>application</dfn> folders should be placed above web root so that they are not directly accessible via a browser.  By default, .htaccess files are included in each folder to help prevent direct access, but it is best to remove them from public access entirely in case the web server configuration changes or doesn't abide by the .htaccess.</p>
 
 <p>If you would like to keep your views public it is also possible to move the <dfn>views</dfn> folder out of your application folder.</p>
 
-<p>After moving them, open your main <kdb>index.php</kbd> file and set the <samp>$system_folder</samp>, <samp>$application_folder</samp> and <samp>$view_folder</samp> variables, preferably with a full path, e.g. '<dfn>/www/MyUser/system</dfn>'.</p>
+<p>After moving them, open your main <kdb>index.php</kbd> file and set the <samp>$system_path</samp>, <samp>$application_folder</samp> and <samp>$view_folder</samp> variables, preferably with a full path, e.g. '<dfn>/www/MyUser/system</dfn>'.</p>
 
 <p>
     One additional measure to take in production environments is to disable
@@ -107,4 +107,4 @@
 </div>
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/user_guide/installation/upgrade_201.html b/user_guide/installation/upgrade_201.html
index 036ef7c..7ae29b8 100644
--- a/user_guide/installation/upgrade_201.html
+++ b/user_guide/installation/upgrade_201.html
@@ -83,7 +83,7 @@
 
 <p>to use either a / or <kbd>base_url()</kbd>:</p>
 
-<code>echo form_open('/'); //&lt;form action="http://example.com/index.php/" method="post" accept-charset="utf-8"><br/>
+<code>echo form_open('/'); //&lt;form action="http://example.com/index.php/" method="post" accept-charset="utf-8"><br />
 echo form_open(base_url()); //&lt;form action="http://example.com/" method="post" accept-charset="utf-8"></code>
 
 </div>
@@ -102,4 +102,4 @@
 </div>
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/user_guide/libraries/loader.html b/user_guide/libraries/loader.html
index af27176..98864a7 100644
--- a/user_guide/libraries/loader.html
+++ b/user_guide/libraries/loader.html
@@ -241,9 +241,9 @@
 <p>In this instance, it is possible for view naming collisions within packages to occur, and possibly the incorrect package being loaded.  To ensure against this, set an optional second parameter of <var>FALSE</var> when calling <samp>add_package_path()</samp>.</p>
 
 <code>
-$this->load->add_package_path(APPPATH.'my_app', TRUE);<br>
+$this->load->add_package_path(APPPATH.'my_app', FALSE);<br>
 $this->load->view('my_app_index'); // Loads<br>
-$this->load->view('welcome_message'); // Will not load the default welcome_message b/c the second param to add_package_path is TRUE<br>
+$this->load->view('welcome_message'); // Will not load the default welcome_message b/c the second param to add_package_path is FALSE<br>
 <br>
 // Reset things<br>
 $this->load->remove_package_path(APPPATH.'my_app');<br>
diff --git a/user_guide/libraries/output.html b/user_guide/libraries/output.html
index 7361d79..64ba482 100644
--- a/user_guide/libraries/output.html
+++ b/user_guide/libraries/output.html
@@ -82,12 +82,12 @@
 
 <p>Permits you to set the mime-type of your page so you can serve JSON data, JPEG's, XML, etc easily.</p>
 
-<code>$this->output<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;->set_content_type('application/json')<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;->set_output(json_encode(array('foo' => 'bar')));<br/>
-<br/>
-$this->output<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;->set_content_type('jpeg') // You could also use ".jpeg" which will have the full stop removed before looking in config/mimes.php<br/>
+<code>$this->output<br />
+&nbsp;&nbsp;&nbsp;&nbsp;->set_content_type('application/json')<br />
+&nbsp;&nbsp;&nbsp;&nbsp;->set_output(json_encode(array('foo' => 'bar')));<br />
+<br />
+$this->output<br />
+&nbsp;&nbsp;&nbsp;&nbsp;->set_content_type('jpeg') // You could also use ".jpeg" which will have the full stop removed before looking in config/mimes.php<br />
 &nbsp;&nbsp;&nbsp;&nbsp;->set_output(file_get_contents('files/something.jpg'));</code>
 
 <p><strong>Important:</strong> Make sure any non-mime string you pass to this method exists in config/mimes.php or it will have no effect.</p>
@@ -174,4 +174,4 @@
 </div>
 
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/user_guide/libraries/user_agent.html b/user_guide/libraries/user_agent.html
index e1d3640..d6641c8 100644
--- a/user_guide/libraries/user_agent.html
+++ b/user_guide/libraries/user_agent.html
@@ -133,7 +133,7 @@
 else if ($this->agent->is_mobile())<br />
 {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;$this->load->view('mobile/home');<br />
-}<br/>
+}<br />
 else<br />
 {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;$this->load->view('web/home');<br />
@@ -223,4 +223,4 @@
 </div>
 
 </body>
-</html>
\ No newline at end of file
+</html>
